package com.nondo.rdp.finance.service.course;

import java.util.List;

import com.nondo.rdp.auth.endpoint.model.Page;
import com.nondo.rdp.finance.domain.course.StageCourse;
import com.nondo.rdp.finance.model.course.AdminStageCourseQuery;
import com.nondo.rdp.finance.model.course.AppStageCourseQuery;

public interface StageCourseService {
    /**
     * 保存阶段课程
     *
     * @param StageCourse
     */
    StageCourse save(StageCourse stageCourse);
    
    /**
     *
     * @param id
     */
    void delete(Long id);

    /**
     * 根据主键更新阶段课程
     *
     * @param StageCourse
     */
    void update(StageCourse stageCourse);

    /**
     * 根据主键ID查询阶段课程
     *
     * @param id
     * @return
     */
    StageCourse findOne(Long id);

    /**
     * 分页查询阶段课程列表
     *
     * @return
     */
    Page<StageCourse> findAll(Page<StageCourse> page, StageCourse stageCourse);

    /**
     * 获取阶段课程详情
     * @param stageCourse
     * @return
     */
	AdminStageCourseQuery getStageCourseQuery(StageCourse stageCourse);

	/**
	 * 根据类型获取阶段课程列表
	 * @param type
	 * @return
	 */
	List<AppStageCourseQuery> findAll(Integer type);

	/**
	 * 根据课程ID查询
	 * @param cid
	 * @param type
	 * @return
	 */
	StageCourse getOne(Long cid, int type);
    
}
